/*
 * Copyright (c) 2025, Arm Limited and affiliates.
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/*********************    Autogenerated file. DO NOT EDIT *******************
 * Generated from gen_label_cpp.py tool  file.
 * Date: 2025-08-12 10:45:56.537659
 ***************************************************************************/

#include "BufAttributes.hpp"

#include <vector>
#include <string>


static const char * labelsVec[] LABELS_ATTRIBUTE = {
    "_silence_",
    "_unknown_",
    "connect",
    "connected",
    "remote_control",
    "living_room",
    "dining_room",
    "kitchen",
    "bedroom",
    "entrance",
    "stairs",
    "washroom",
    "turn_on_light",
    "turn_off_light",
    "turn_on_the_light",
    "turn_off_the_light",
    "power_on",
    "power_off",
    "brighten",
    "brighten_a_little",
    "dim_a_little",
    "dim",
    "set_to_white",
    "set_to_yellow",
    "set_to_orange",
    "whiten_a_little",
    "orange_a_little",
    "gradually_brighten",
    "gradually_dim",
    "gradually_whiten",
    "gradually_orange",
    "stop",
    "night_light",
    "small_bulb",
    "soft_glow",
    "scene_1",
    "scene_2",
    "scene_3",
    "scene_4",
    "morning_light",
    "daytime_light",
    "family_time",
    "relaxation",
    "set_to_red",
    "set_to_green",
    "set_to_blue",
    "color_loop",
    "stop_color_loop",
    "turn_on_main",
    "turn_off_main",
    "turn_on_side",
    "turn_off_side",
    "brighten_side",
    "dim_side",
    "color_loop_side",
    "stop_side",
    "ceiling_buzzer",
    "turn_on_buzzer",
    "turn_off_buzzer",
    "turn_off_after_5_min",
    "turn_off_after_10_min",
    "turn_off_after_15_min",
    "turn_off_after_30_min",
    "turn_off_after_45_min",
    "turn_off_after_60_min",
    "turn_off_after_1_hour",
    "timer_off",
    "send_id",
    "receive_id",
    "register_device",
    "unregister_device",
    "set_lower_limit",
    "remove_lower_limit",
    "register_to_scene_1",
    "register_to_scene_2",
    "register_to_scene_3",
    "register_to_scene_4",
    "register_to_morning_light",
    "register_to_daytime_light",
    "register_to_family_time",
    "register_to_relaxation",
    "wake_up_5_sec",
    "wake_up_10_sec",
    "wake_up_30_sec",
    "wake_up_1_min",
    "change_to_connect",
    "change_to_connected",
    "change_to_remote_control",
    "change_to_living_room",
    "change_to_dining_room",
    "change_to_kitchen",
    "change_to_bedroom",
    "change_to_entrance",
    "change_to_stairs",
    "change_to_washroom",
};

bool GetLabelsVector(std::vector<std::string>& labels)
{
    constexpr size_t labelsSz = 95;
    labels.clear();

    if (!labelsSz) {
        return false;
    }

    labels.reserve(labelsSz);

    for (size_t i = 0; i < labelsSz; ++i) {
        labels.emplace_back(labelsVec[i]);
    }

    return true;
}

